package com.j180.service.order.impl;

import com.j180.bean.Order;
import com.j180.dao.order.IOrderDao;
import com.j180.service.order.IOrderService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class OrderServiceImpl implements IOrderService {
    @Autowired
    IOrderDao iOrderDao;

    /**
     * 添加一条新订单
     * @param order 订单实体类
     * @return 成功 1 失败 0
     */
    @Override
    public int insertOrder(Order order) {
        return iOrderDao.insertOrder(order);
    }

    /**
     * 根据门店Id 查询订单信息
     * @param storeId 门店id
     * @return 查询结果集
     */
    @Override
    public List<Order> showOrdersByStoreId(int storeId) {
        return iOrderDao.getOrdersByStoreId(storeId);
    }

    /**
     * 根据宠主Id查询订单信息
     * @param ownerId 宠主 id
     * @return 查询结果
     */
    @Override
    public List<Order> showOrdersByPetOwnerId(int ownerId) {
        return iOrderDao.getOrdersByPetOwnerId(ownerId);
    }

    /**
     * 根据评论Id查询订单信息
     * @param commentId 评论id
     * @return 查询结果
     */
    @Override
    public List<Order> showOrdersByCommentId(int commentId) {
        return iOrderDao.getOrdersByCommentId(commentId);
    }

    /**
     * 根据商店ID删除订单
     * @param storeId 商店id
     * @return 成功 1 失败 0
     */
    @Override
    public int deleteOrderByStoreId(int storeId) {
        return iOrderDao.deleteOrderByStoreId(storeId);
    }

    /**
     * 根据宠物主人id删除订单
     * @param ownerId 宠主id
     * @return 成功 1 失败 0
     */
    @Override
    public int deleteOrdersByPetOwnerId(int ownerId) {
        return iOrderDao.deleteOrdersByPetOwnerId(ownerId);
    }

    /**
     * 根据评论Id删除订单
     * @param commentId 评论id
     * @return 成功 1 失败 0
     */
    @Override
    public int deleteOrdersByCommentId(int commentId) {
        return iOrderDao.deleteOrdersByCommentId(commentId);
    }

    /**
     * 更新订单
     * @param order 订单实体类
     *
     */
    @Override
    public int updateOrder(Order order) {
        return iOrderDao.updateOrder(order);
    }

    /**
     * 根据订单编号查询订单详细信息
     * @param id 订单编号
     * @return 查询结果
     */
    @Override
    public Order showOrderDetailInfoById(int id) {
        return iOrderDao.getOrderDetailInfoById(id);
    }
}
